/*
*  预加载脚本虽运行于渲染器的环境中，却因能访问 Node.js API 而拥有了更多的权限；
* 预加载脚本与渲染器的主要运行环境是隔离开来的，无法直接操作网页元素，不过可以通过contextBridge 模块来安全地实现交互
* 总结：预加载脚本作为渲染进程（页面）和主进程（底层）之间的桥梁。
* */

import { contextBridge,ipcRenderer } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'

const api = {
  platform: process.platform,
  handleTest:async () => {
    let result = await ipcRenderer.invoke('test', 'test')
    console.log(result)
  }
}


if (process.contextIsolated) {
  try {
    contextBridge.exposeInMainWorld('electron', electronAPI)
    // contextBridge.exposeInMainWorld('api', api)



    /**
     * 暴露给前端windows对象，windows对象的属性可以用windows.myApi调用或者直接简写为myApi调用
     * */
    contextBridge.exposeInMainWorld('myApi', api)

  } catch (error) {
    console.error(error)
  }
} else {
  window.electron = electronAPI
  window.api = api
}

